package com.qkjia.srb.core.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.qkjia.srb.core.pojo.entity.UserInfo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qkjia.srb.core.pojo.query.UserInfoQuery;
import com.qkjia.srb.core.pojo.vo.LoginVO;
import com.qkjia.srb.core.pojo.vo.RegisterVO;
import com.qkjia.srb.core.pojo.vo.UserInfoVO;

/**
 * <p>
 * 用户基本信息 服务类
 * </p>
 *
 * @author 赵乾坤
 * @since 2021-11-01
 */
public interface UserInfoService extends IService<UserInfo> {

    /**
     * 校验手机号是否被注册
     * @param mobile 手機號
     * @return
     */
    boolean checkMobile(String mobile);

    /**
     * 注册
     * @param registerVO 注册页面对象
     */
    void register(RegisterVO registerVO);

    /**
     * 返回前端登录的对象信息
     * @param loginVO
     * @param ip
     * @return
     */
    UserInfoVO login(LoginVO loginVO, String ip);

    /**
     * 获取会员分页列表
     * @param pageParam 分页参数
     * @param userInfoQuery 查询对象
     * @return
     */
    IPage<UserInfo> listPage(Page<UserInfo> pageParam, UserInfoQuery userInfoQuery);

    /**
     * 用户锁定和解锁
     * @param id
     * @param status
     */
    void lock(Long id, Integer status);


}
